home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 1 / LIGHT-ROM 1 (Amiga Library Services)(1994).iso / ffdisks / d897.lha / DNet / dnet.doc.richhelms next >
Text File  |  1990-01-20  |  33KB  |  862 lines

  1.                                        
  2.                   DNET V2.00
  3.                  1 MARCH 1989
  4.  
  5.  
  6.     DNET (c)Copyright 1987-1989 Matthew Dillon, All Rights Reserved
  7.  
  8.     Matthew Dillon
  9.     891 Regal Rd
  10.     Berkeley, Ca. 94708
  11.     USA
  12.  
  13.     ...!ihnp4!ucbvax!dillon     USENET
  14.     dillon@ucbvax.Berkeley.edu    ARPANET
  15.     ucbvax.berkeley.edu pub/amiga    ARPANET-FTP
  16.  
  17. This documentation was compiled by Rich Helms from the original
  18. documentation by Matthew Dillion.
  19.  
  20.         Rich Helms
  21.         Ye Olde Helmstead Farm
  22.         RR #1
  23.         Sunderland, Ontario
  24.         L0C 1H0 Canada
  25. Table of Contents
  26. History
  27. 1. What is DNet
  28. 2. Installation
  29. 3. Commands
  30. Appendix A.Building a Null Modem Cable
  31.                 HISTORY
  32.     V1.00   sometime in 1987
  33.         First release
  34.  
  35.     V1.20   sometime in 1988
  36.         Fixes to the first release
  37.  
  38.     V2.00   1 March 1989
  39.  
  40.         Major fixes, additions, and other items.
  41.                    WHAT IS DNET
  42.  
  43. DNet is a link protocol and should properly be called DLink, but
  44. the name DNet stuck and so it will stay.  DNet allows one to connect two
  45. amigas together and run multiple connections between them.  For example,
  46. you can open a talk window or two or three and be doing an upload and be
  47. doing a download all at the same time.
  48.  
  49. Currently, DNet can be used to connect two Amiga's together or an Amiga 
  50. to a 4.2BSD/4.3BSD compatible UNIX.
  51.  
  52. Note: AN 8 BIT PATH MUST BE AVAILABLE TO RUN DNET.  DNet must be
  53. able to send and receive all 256 character codes.  This is generally not
  54. a problem between two amigas connected via modem.  This can be a problem
  55. connecting to UNIX boxes over a port selector or terminal concentrator.
  56.  
  57.               INSTALLING DNET ON YOUR AMIGA
  58.  
  59. There are a number of steps involved in the installation of DNet including
  60. hardware and software. 
  61.  
  62. * Hardware Connection
  63.  
  64. It is first necessary to connect the Amiga with the other system. This 
  65. can be done in one of two ways, either a modem or null modem cable. If the
  66. systems are to communicate over a phone line, then a modem is necessary.
  67. If the systems are in the same area, a null modem cable can be made.
  68.  
  69. * How to Make a Null Modem Cable
  70.  
  71. Serial communications can be done over a nonshielded cable for up to 50
  72. feet. To exceed 50 feet, shielded cable should be used. Distance has an
  73. effect on the quality of cable needed as well as the speed you can run the
  74. serial port. My personal system has an Amiga 1000 and an Amiga 500
  75. connected by a 60 foot shielded 4 wire cable and I run the two Amigas at
  76. 19,200 baud. Nonshielded cables or long runs may cut into the speed
  77. possible.
  78.  
  79. Three types of cables can be made. The first is a "full" null modem cable.
  80. The second is a cable that puts through the minimum lines and tricks the
  81. other connections. The third is a cable with the "minimum" number of lines
  82. and no tricks to fool the system. This kind of cable requires special 
  83. software support.
  84.  
  85. See Appendix A for the details of how to build all three cables.
  86.  
  87. * Async line drivers
  88.  
  89. For distances up to a few miles, an async line driver can be used. The
  90. purpose of such a device is to amplify the signal for the longer
  91. trip down the wire. Many vendors sell such devices. One is  Black Box 
  92. Canada Corp (195 Riviera Dr., Markham, Ontario, Canada, L3R 5J6. They
  93. sell line drivers that look like a typical serial plug but has 4 screw
  94. terminals on the end. You connect standard phone 4 wire to each unit and
  95. you can run up to 3.2 miles of wire and run at either 9,600 baud on the
  96. SHM-NPR ($123.50 Cdn Fall) or 19,200 baud on the SHM-NPR1 ($138.00). 
  97.  
  98. * Performance 
  99.  
  100. While the Amiga can run at 19,200 baud, the effective rate is not what the
  101. serial port is configured to. There is overhead in the program.
  102.  
  103. In one test, 2 Amigas were linked via a null modem cable. A 47K file was
  104. loaded in the RAM: on one system and copied to the other system by the
  105. GETFILES program.
  106.  
  107. At 19,200 baud the copy took 27 seconds giving an effective thruput of
  108. 1.7 K bytes per second (about 17,800 baud). 
  109.  
  110. Do not try to run at 38,400 baud. It will lock up the system.
  111.  
  112.                  SOFTWARE INSTALLATION
  113.  
  114. (1) copy dres.library to libs:
  115.  
  116. (2) Create a directory for the DNet programs (we will use 
  117.     Network_Programs for this document.
  118.  
  119. (3) In s:Startup-Sequence add these lines:
  120.  
  121.     assign dnet: Network_Programs
  122.     path dnet: add
  123.  
  124.     Now you can call any DNet program from the directory as dnet:.
  125.  
  126.     Note: You must have assigned env: for DNet to work.
  127.  
  128. (4) copy the DNet binary and all client and server program to dnet:
  129.     These programs include:
  130.  
  131.             dpipe-handler                    null-handler
  132.             bbsterm                          cliterm
  133.             dbbs                             dnet
  134.             fterm                            getfiles
  135.             loadav                           putfiles
  136.             quitdnet                         scli
  137.             scopy                            sgcopy
  138.             spasswd                          sprint
  139.             statdnet                         sterm
  140.  
  141. (5) copy the file dnet.servers to s:
  142.  
  143.     All programs in dnet.servers points to where the associated program is
  144.     found. As it points to dnet: as the location, your assign done in step 3
  145.     will cause all programs to be found.
  146.  
  147.     The dnet.servers file looks like this:
  148.  
  149.     8192    dnet:scopy    ram:    ;File Transfer server
  150.     8195    dnet:sterm    ram:    ;Terminal Window server
  151.     8196    dnet:scli    ram:    ;Shell Server (needs pipe:)
  152.     8197    dnet:sloadav    ram:    ;Load Average Server
  153.     8198    dnet:sprint    ram:    ;Printer Server (direct copy)
  154.     8199    dnet:spasswd    ram:    ;Password Server
  155.     ; 8200 reserved for BBS server, handled by dbbs client&server program
  156.     8201    dnet:sgcopy    ram:    ;GET files server
  157.  
  158. (6) copy the file dnet.config to s:
  159.  
  160.     You may have to modify s:dnet.config. See the chapter on the dnet
  161.     command.
  162. (7) If you want to run a CLI session on system B from system A then on
  163.     system B you must:
  164.  
  165.     Add to devs:MountList 
  166.  
  167.     DPIPE:    Handler = dnet:dpipe-handler
  168.         Stacksize = 6000
  169.         Priority = 5
  170.         GlobVec  = 1
  171.     #
  172.  
  173.     NULL:   Handler = dnet:null-handler
  174.         Stacksize = 500
  175.         Priority = 5
  176.         GlobVec = 1
  177.     #
  178.  
  179.     With these 2 entries in the MountList file, you can run a remote CLI.
  180.     It is also necessary to execute
  181.  
  182.         MOUNT DPIPE:
  183.         MOUNT NULL:
  184.     
  185.     on System B before running CLITERM on system A.
  186.  
  187. Note: the parameters in DNET are case sensitive. The X MUST be a capital
  188. letter.
  189.  
  190.                   IF YOU ARE USING A MODEM
  191.  
  192. 1> RUN DNET -X -8 -b1200
  193.  
  194. The above line also sets the baud to 1200. The idea is you set it to 
  195. what is proper for your modem. In the small window that appears, type the
  196. commands to make the call with your modem.
  197.  
  198.           IF YOU ARE USING A NULL MODEM CABLE
  199.  
  200. 1> Set preferences on both mochines to:
  201.     19,200 or 9,600 baud (both machines MUST match)
  202.     8 bit read and write
  203.     1 stop bit
  204.     no parity
  205.     xON/xOFF
  206.  
  207. If you are using a full null modem cable or a tricked null modem cable
  208. as described in Appendix A enter:
  209.  
  210. 2> RUN DNET -X 
  211.  
  212. If you are using a 3 wire null modem cable with only lines 2 crossed 
  213. to 3 and line 7 through, enter:
  214.  
  215. 2> RUN DNET -X -h0
  216. Note: the -h0 tells DNET to ignore the carrier detect line. 
  217.  
  218.  
  219. WARNING: The defaults for -X (manual mode) in S:DNET.CONFIG turn off all
  220. security.  Please read documentation on security for more information.
  221.  
  222.             SCRIPT TO STARTDNET
  223.  
  224. Here is a sample script to start DNet. 
  225.  
  226.     assign dnet: dh0:Network_Programs   ;set to the directory you used
  227.     path dnet: add
  228.     run dnet:DNET -X                    ;set your parameters up
  229.     mount dpipe:                        ;this is necessary if a remote
  230.     mount null:                         ;CLI is to be used
  231.  
  232.  
  233. A small DNET window should appear from which you can dialup your
  234. friend's amiga.  On a modem CONNECT, DNET should automatically adjust the
  235. baud rate.  It may be necessary to modify S:DNET.CONFIG as to how your 
  236. modem tells the active baud rate.
  237.  
  238. After connecting, executing the START DNET menu option from either
  239. end will start the protocol.  The small dnet window should go away
  240. and DNET should attempt to run the FTERM client program, which
  241. connects to an STERM server program on the other end.  Your friend's
  242. amiga will do the same. 
  243.  
  244. Note: The return key on one system will not reset the cursor to the next
  245. line. It will do a line feed but not a carriage return. See FTERM to see
  246. how to start a window on the other Amiga with correct cursor control. 
  247.  
  248. If all goes ok, it should flash the window size in the title bar
  249. and you can type.  If not, the window will go away and an error
  250. message will be printed out in your CLI: "unable to connect".
  251.  
  252. WARNING: Even if there are no windows open (no clients active),
  253. DNet is still running!!!!  us the CLI BREAK command to kill DNet
  254. and give you back the initial DNet window, from which you can
  255. hit the close-window gadget.
  256.  
  257. Breaking the DNet protocol will kill any active clients.
  258.  
  259. Unless specified with the -h0 option, if the modem carrier is lost
  260. DNet will kill all clients and re-open its initial window.
  261.                    SERVERS AND CLIENTS
  262.  
  263.  
  264. DNet has a notion of servers and clients.  That is, you run the
  265. protocol as described above, then run other external programs that talk
  266. to the core program "DNet".  These other external programs "FTerm",
  267. "GetFiles", "PutFiles", etc... obtain virtual connections to special
  268. server programs on the remote machine.
  269.  
  270. Thus, when you started the protocol above DNet automatically
  271. ran the FTERM client... you can run as many FTERMs as you have memory
  272. for (well, actually, DNet is limited to 64 simultanious channels).  When
  273. a client program such as FTERM is run on computer A, it causes the
  274. appropriate server program (STERM in this case) to automatically be run
  275. on computer B.    The client and server need some way to rendezvous, and they
  276. do this by giving the same PORT NUMBER to the protocol driver.
  277.  
  278. This is what the S:DNET.SERVERS file is ... when you run a client
  279. on computer A it asks for server #<blah> (e.g. 8195 for an FTERM) on the
  280. remote machine.  Computer B (the remote machine) looks up 8195 in the
  281. S:DNET.SERVERS file, finds the path to the server in question, and runs it
  282. automatically.
  283.  
  284.     PORT    CLIENT    SERVER        PURPOSE
  285.  
  286.     8192    PutFiles    SCopy        send files to remote computer
  287.     8195    FTerm    STerm        open a talk window on both computers
  288.     8196    CLITerm    SCli        remote-CLI (actually newshell)
  289.     8197    LoadAv    ------        Load-Average window (when running DNet
  290.                     to a UNIX machine)
  291.     8198    ------    SPrint        printer server
  292.     8199    DLogin    SPasswd     password server.  Used to gain security
  293.                     access for auto-answer callups
  294.     8201    GetFiles    SGCopy        download files from remote computer
  295.                   DNET OPTIONS
  296.  
  297.     (please refer to S:DNET.CONFIG while reading this)
  298.  
  299.     DNet runs in three basic modes:  AutoAnswer (-a), DialOut (default),
  300.     and Manual (-X).  Each mode has its own default set of security
  301.     parameters.  The shipped defaults assume a hostile enviroment.
  302.     Generally,    AutoAnswer is assumed to be the most hostile since you
  303.     do not know who is calling you up.    DialOut is less so since you know
  304.     who you are dialing, and Manual assumes a non-hostile enviroment.
  305.  
  306.     These three modes also cause DNet to work differently.
  307.  
  308.  
  309. AMIGA/DNET
  310.  
  311.     DialOutMode:    The default mode is DialOutMode (neither -X or -a
  312.         given).  DNet will look for a CONNECT message on carrier
  313.         detect and modify the baud rate according to the AUTA
  314.         resources.
  315.  
  316.         DNet will set the security modes to the ENVO (originate)
  317.         resources in s:dnet.config
  318.  
  319.         NOTE:  response through the initial window will be slow due
  320.         to DNet's scanning of the resource file s:dnet.config.
  321.  
  322.     -X        Manual mode.  DNet will look for a CONNECT message on
  323.         carrier detect and modify the baud rate on connect
  324.         appropriately.
  325.  
  326.         DNet will set the security modes to the ENVM resources
  327.         which assumes a friendly connection.
  328.  
  329.     -a        Auto Answer mode.  DNet will send the RESM resources at
  330.         the originally specified baud rate to reset the modem
  331.         whenever carrier is lost.
  332.  
  333.         The security modes are set the the ENVA resources, which
  334.         normally assume a hostile enviroment.
  335.  
  336.     -8        Use 8 bits no parity for the initial window rather than
  337.         7 bits even parity.  NOTE!  This only effects the initial
  338.         login window.  The Protocol, when running, always uses
  339.         8 bits no parity.
  340.  
  341.     -bbaud    Set Initial Baud rate (otherwise uses preferences baud
  342.         rate)
  343.  
  344.     -Bbaud    Set Baud used to determine timeouts.  If not set, the
  345.         current baud rate, whatever that is, is used.  If set,
  346.         this value is used to calculate timeouts forever after
  347.         no matter what the actual line baud rate is.
  348.  
  349.         For example, setting this value lower than whatever baud
  350.         rate you normally use will allow for longer line delays
  351.         (such as when dialing through networks and things)
  352.     -sclient    Run the specified client program on protocol start.  If
  353.         running a BBS you want to specify the BBS client program
  354.         here.
  355.  
  356.         NOTE:  If the DNET_NORUNCLIENT enviroment variable is set,
  357.         no client program will be run even if this option is
  358.         specified.  This is used by DBBS to ensure that DNet does
  359.         not start it several times.  This enviroment variable is
  360.         automatically deleted when DNET is first run.
  361.  
  362.         The default is to run the FTERM client.
  363.  
  364.  
  365.     -nhostname    Set the hostname (not used)
  366.  
  367.     -h0     Disable the auto-hangup feature.  This only works when
  368.         in DialOut (default) or Manual (-X) mode and causes DNet to
  369.         ignore the carrier detect line.  CD MUST be implemented for
  370.         AutoAnswer.
  371.  
  372.     -U#     Set the unit number for the low level serial-like device
  373.         to talk over.
  374.  
  375.     -Ddevice    Set the device name for the low level serial-like device
  376.         to talk over (i.e. "serial.device").
  377.  
  378.     -N#     Set the network ID for local client/server rendezvous
  379.  
  380.     -p        Packet Debug mode
  381.  
  382.     -d        Debug mode on
  383.  
  384.          ---------------------------------------------------
  385.                 SECURITY
  386.  
  387.     The following enviroment variables should exist:
  388.  
  389.     DNET_LEVEL, DNET_READ, DNET_WRITE, DNET_GROUP, DNET_USERID
  390.  
  391.     These are setup automatically by the S:dnet.config file depending on
  392.     the mode (Manual, DialOut (-X), AutoAnswer (-a)) and are read by local
  393.     servers to determine what the remote machine is allowed to do.  These
  394.     variables each hold a single value, normally 0-9 (except for DNET_GROUP
  395.     which can be any number 0-32767).
  396.  
  397.     SGCOPY (server for getfiles):
  398.  
  399.     This is a new server.
  400.  
  401.     DNET_READ and DNET_GROUP  determine which files the remote machine
  402.         may download (read).  In order for the remote to be able to download 
  403.         a file,that file and all its parent directories are scanned.  At
  404.         least one comment field must have an AC entry (AC=n) less than or
  405.     equal to the current DNET_READ enviroment variable or sgcopy will
  406.     disallow the download.    If NO comment fields have an AC entry
  407.     the download is disallowed.  If any comment field has an AC
  408.     entry > DNET_READ, the download is disallowed unless a GP entry
  409.     was found (GR=n).
  410.     A comment field may have multiple GR entries (GR=n GR=n ...).  If
  411.     any matches DNET_GROUP and all (if any) AC fields are <= DNET_READ,
  412.     the download is allowed.
  413.  
  414.     After that point a download will begin and files/dirs need not have
  415.     AC entries.  However, if any do, it will be checked again DNET_READ
  416.     and the download (for that file or directory) disallowed.
  417.  
  418.     SCOPY (server for putfiles)
  419.  
  420.     This server allows remote machines to upload a file.  That is,
  421.     transfer from the remote machine to the local machine.    DNET_WRITE
  422.     must be 9 or higher or the upload will be disallowed.  Currently,
  423.     the remote machine may upload anywhere so it is suggested that you
  424.     either NOT have the SCOPY server installed or do not set DNET_WRITE
  425.     to 9 or beyond when talking to possibly hostile remote machines.
  426.  
  427.     SPRINT (printer server)
  428.  
  429.     This server copies a stream to PRT:  DNET_WRITE must be at least
  430.     6 or the remote machine will not be allowed to use this server.
  431.  
  432.     SCLI (CLI server)
  433.  
  434.     This server is currently a big hack and requires a special pipe
  435.     device to work (The 1.3 pipe: will not work).
  436.  
  437.     DNET_LEVEL must be at least 9 for a remote machine to be able to
  438.     start a remote cli
  439.  
  440.     STERM  (terminal window server)
  441.  
  442.     This server requires no permissions to operate and allows the
  443.     remote machine to bring up a 'terminal window' to talk you
  444.     through.
  445.  
  446.     AUTOMATIC ENVIROMENT VARIABLE CONFIGURATION CAN BE DONE FROM
  447.     S:DNET.CONFIG
  448.  
  449.          ---------------------------------------------------
  450.  
  451.                 TALKING TO A DBBS
  452.  
  453.     Amiga users wishing to connect to DBBS hosts should use the following
  454.     command line:
  455.  
  456.     Run dnet -8 -sbbsterm
  457.  
  458.     The -8 is required only if you have a stupid 'smart' modem which
  459.     figures out the parity and then stays with it forever after.  Since
  460.     neither -a or -X have been given, you are in the medium-security
  461.     'dial-out' mode.
  462.     Then, dial up the BBS in question.    If the other end is indeed a
  463.     DNET-BBS running under automatic operation, the protocol should start
  464.     up almost immediately.  On protocol startup, your side will
  465.     automatically attempt to run the BBSTERM program (which connects to the
  466.     BBS server on the other end).  NOTE that the BBSTERM executable and
  467.     FTERM executable are one and the same.  The naming 'BBSTERM' causes
  468.     it to use the BBS's port (8200) instead of the STERM port (8195)
  469.  
  470.     Currently the BBS server will allow only one connection at a time and
  471.     return other attempts with an error.  However, you can still download,
  472.     upload, readmail, and talk to the sysop all at the same time.
  473.  
  474.             Downloading files from the DBBS
  475.  
  476.     The getfiles client program is used to retrieve files from the DBBS.
  477.     The DBBS will set security options and such to allow you to download
  478.     files.
  479.  
  480.             Allowing the DBBS to upload files from you
  481.  
  482.     At least one of the directories in the path leading to the eventual
  483.     file/dir that you want to upload to the BBS must have a comment
  484.     field containing the string AC=<n>    (e.g. AC=1) where <n> is at least
  485.     whatever read security level you have set (the DNET_READ enviroment
  486.     variable, for example:  setenv DNET_READ 1), or the DBBS will be unable
  487.     to retrieve the file(s)/dir(s) and will tell you so.
  488.  
  489.  
  490.          ---------------------------------------------------
  491.                    EMAIL NETWORK
  492.  
  493.     Has not been implemented yet, but will eventually be just another
  494.     server.  This is one of the reasons why the connect-to-BBS is done
  495.     by the caller rather than have the BBS automatically startup an STERM
  496.     on protocol startup ... this way, future enhancements such as an
  497.     automated email network can be added without the burden of automatically
  498.     starting up a BBS everytime.
  499.  
  500.     I also plan to implement a CRON based auto-dialer for email transfer.
  501.  
  502.         ----------------------------------------------
  503.  
  504.                    RUNNING AS A DBBS
  505.  
  506.     The DBBS server program is a BBS system for the Amiga which runs under
  507.     DNet.  The following is an example command line for automatic
  508.     operation.    Your modem must implement the CD (carrier detect) line and
  509.     must disconnect when DTR is dropped.
  510.  
  511.     Run dnet -8 -a -bmaxbaud -sdbbs     (other options may apply)
  512.     That is, 8 bits no parity for the initial window (doesn't matter unless
  513.     you have one of those stupid-smart modems), answer mode (automatic
  514.     protocol startup on carrier detect), the maximum baud rate your modem
  515.     can handle, and to run the DBBS client on protocol startup.
  516.  
  517.     The DBBS program is the BBS program itself.  It is a client in that you
  518.     RUN it (or allow DNET to run it via the -s option).  It is a server in
  519.     that it passively waits for connections from the remote end.  This
  520.     program also handles disconnecting users when their time runs out or
  521.     they are idle too long.
  522.  
  523.     Since PUTFILES is a security hole right now, rather than have users
  524.     of the BBS PUTFILES to upload, they will request the BBS to GETFILES
  525.     the files to upload.
  526.  
  527.     *NEVER SET YOUR DNET_LEVEL or DNET_WRITE TO 9 OR ABOVE!  Doing so gives
  528.      remote users sysop level access to DNet.
  529.  
  530.     NOTE:   I intend to implement a mail network at some point.  Remember
  531.     that in the future, users will dial up and connect to your machine to
  532.     do things other than just use the DBBS (i.e. they'll connect to the
  533.     EMAIL server in many cases for an automated mail transfer).
  534. AMIGA/CLITERM
  535.  
  536.     CLITERM [-Nnet] [port#]
  537.  
  538.     CLITERM is used between two amigas to open a remote CLI on the remote
  539.     amiga.
  540.  
  541.     CLITERM is a standard FTERM minus some features and plus some features.
  542.     The big feature is that it line-buffers the data, allowing you to
  543.     edit lines before sending them off to the remote cli.  It also
  544.     defaults to the SCLI server's port # (8196).
  545.  
  546.     WARNING: You must be at a CLI (or 1.3 NewShell shell) prompt when
  547.     you exit!
  548.  
  549.     The remote machine must have the Amiga OS V1.3 NewShell command
  550.     installed as well as DPIPE:, and the DNET_LEVEL enviroment variable
  551.     must be at least 9 (accomplished by the remote user running dnet -X or
  552.     modifying s:dnet.config).  A shell initialization from file,
  553.     s:remote-startup, is automatically executed by the shell.
  554.  
  555.     It is suggested that the program "noreq" be run by s:remote-startup
  556.     to disable requesters (or your remote CLI will freeze when you make
  557.     a mistake that brings up a DOS requester!).
  558. AMIGA/FTERM
  559. AMIGA/BBSTERM
  560.  
  561.     FTERM [-Nnet] [port#] [-c#] [-wcapturefile]
  562.  
  563.     FTERM opens a standard intuition window and connects to a CSH running on
  564.     the remote UNIX machine.  If the remote machine is another Amiga, it
  565.     connects to the terminal-window server (STERM).
  566.  
  567.     To call the other Amiga with the CR LF correct use:
  568.  
  569.     dnet:FTerm -c7
  570.  
  571.     UNIX: The csh runs on a PTY and is NOT named, which means you don't show
  572.     up in WHO or FINGER, and cannot TALK other people (nor can they talk you).
  573.     To get a named shell, you must 'rlogin localhost'.  This adds another
  574.     process to the character-loop.
  575.  
  576.     The default port# is 8195.    You can also specify another port # to
  577.     connect to.
  578.  
  579.     The -N option specifies the network (default = 0).  This is the same
  580.     network as was specified when you ran DNET (if was not specified, is 0)
  581.  
  582.     The -c# option (-c7 for example) sets the 'cooked' mode.  Bits are
  583.     defined as follows:
  584.  
  585.         bit
  586.         0   turn keyboard CR's into LFs when sent to remote
  587.         1   Local Echo (half duplex)
  588.         2   cause received LFs to generate a CR+LF (i.e. CSI20h)
  589.  
  590.     -wcapturefile   Specify name of capture file, else "ram:capture".
  591.  
  592.     Menus:  (partially implemented):  Capture -capture into ram:capture
  593.  
  594.                       Paste   -pastes from ram:paste
  595.  
  596.                       Flush   -get rid of buffered data
  597.                            on remote end (that would
  598.                            otherwise take a long time
  599.                            to display)
  600.  
  601.     BBSTERM is simply FTERM renamed, and uses PORT_BBS (8200) instead of
  602.     PORT_IALPHATERM (8195).
  603.  
  604.     RELEASE INFO:
  605.  
  606.     V1.10   DNET 1.10 release
  607.  
  608.         -Implements auto window resize and auto-remote-resize
  609.         -Implements local echo (cooked mode) and buffering
  610.  
  611.         Remote STERM implements equivalent options and now has the
  612.         same resize/echo/remote-resize capabilities as FTERM.
  613.  
  614.     V1.00   Initial Release
  615. AMIGA/LOADAV
  616.  
  617.     LOADAV [-Nnet] [updatetime]
  618.  
  619.     Create a load average window on your amiga.  The program 'uptime' must
  620.     exist on the UNIX end for this to work.  The default update time is
  621.     60 seconds.
  622.  
  623.     The -N option specifies the network (default = 0).  This is the same
  624.     network as was specified when you ran DNET (if was not specified, is 0)
  625.  
  626. AMIGA/FTERM   Using FTERM to gain access to the SPASSWD server.
  627.  
  628.     FTERM 8199        (Amiga<->Amiga connection, from calling amiga)
  629.     DSOC 8199        (Unix<->Amiga connection, from calling unix machine)
  630.  
  631.     This connects to the SPASSWD server on the Amiga which requests a
  632.     login and password to gain any level of security access to the amiga.
  633.  
  634.     S:DNET.CONFIG may contain zero or more entries of the following form:
  635.  
  636.     USER <username> <password> <read-access> <write-access> <level-access>
  637.  
  638.     example
  639.  
  640.     USER dillon casmtrek 9 9 9
  641.  
  642.     This server is useful as it allows you to leave your Amiga unattended
  643.     in auto-answer mode (with default security permissions 0 0 0).  You
  644.     can call up your amiga, connect to the SPASSWD server and enter your
  645.     own personal user-name/password to gain full access to your amiga
  646.     for the duration of the call.  When you hang up, the amiga will
  647.     automatically restore permissions to the default for the next caller.
  648. UNIX/GETFILES
  649. AMIGA/GETFILES
  650.  
  651.     GETFILES [-Nnet#] [-dlocaldir] [-c] file/dir file/dir file/dir ..
  652.  
  653.     GetFiles file transfer client.    Download the specified files and or
  654.     dirs from the remote machine into the current directory, or the
  655.     directory specified if the -d option is used.  Entire directory
  656.     trees may be downloaded
  657.  
  658.     The -c "continue" option only downloads files which do not already
  659.     exist.    For files which do exist, if the local file size is less
  660.     than the remote file size, the remainder will be downloaded and
  661.     appended to the local file.
  662.  
  663.                     SECURITY
  664.  
  665.     The remote host, if an amiga, will impose security restrictions on
  666.     those files allowed to be downloaded according to the comment field
  667.     of said files or any parent directory and the current DNET_READ
  668.     accesslevel.
  669.  
  670.     If the remote AMIGA's DNET_READ enviroment variable is set 9 or
  671.     higher, no access restrictions are imposed.
  672.  
  673.     If the remote AMIGA's DNET_READ enviroment variable is less than
  674.     9, the comment field of the requested file or the comment field
  675.     of any parent directory to that file (checked all the way to the
  676.     root directory if necessary) must contain a field:
  677.  
  678.         AC=<n>
  679.  
  680.     where <n> is a value less than or equal to the security level
  681.     (DNET_READ enviroment variable).  For example, if the remote user
  682.     sets the DNET_READ enviroment variable to 5 (normally done by
  683.     modifying the s:dnet.config file), and then sets the comment field
  684.     for his GAMES: volume to AC=5, remote users who connect to his
  685.     amiga will only be allowed to download files from that volume.
  686.  
  687.     The comment field will be used to house other parameters in the
  688.     future.
  689. UNIX/PUTFILES
  690. AMIGA/PUTFILES
  691.  
  692.     PUTFILES [-Nnet#] [-dDESTDIR] file/dir file/dir file/dir ..
  693.  
  694.     File transfer client.  Transfer the specified files and or directories
  695.     to the destination directory on the remote machine.  For instance:
  696.  
  697.     unix:  putfiles -dram: charlie.txt /usr/include
  698.  
  699.      places the file charlie.txt as ram:charlie.txt, and places the
  700.      directory structure /usr/include as ram:include/(whatever).
  701.  
  702.     The -N option selects the network number (see -N option for DNET).
  703.     The default is 0 (AMIGA ONLY).
  704.  
  705.     The default destination directory depends on the remote host.  If the
  706.     destination is an Amiga, the default is DF0: (so you probably always
  707.     want to specify a -d switch).  On the UNIX end, the default is whatever
  708.     is set in the file dnet.servers
  709.  
  710.     Currently, no file compression is done.  I also hope to add
  711.     semi-automatic crash recovery (continue download where you left off
  712.     after a crash), though it should be noted that it is very difficult
  713.     to crash DNET with random modem noise.
  714. AMIGA/QUITDNET
  715.  
  716.     QUITDNET [-Nnet]
  717.  
  718.     This program causes the remote DNET to exit (remote is UNIX) or return
  719.     to the original window state (remote is an AMIGA).  This is used mainly
  720.     for debugging to allow one to restart a newer copy of the program.
  721.  
  722.     The -N option specifies the network (default = 0).  This is the same
  723.     network as was specified when you ran DNET (if was not specified, is 0)
  724. APPENDIX A  Building a Null Modem Cable
  725.  
  726. Serial Interface Connector Specification
  727. --------------------------------------------------
  728.  
  729. The 25 pin D type connector with sockets (DB25S=female) is used to
  730. interface to RS232C standard signals.  Signal names correspond to 
  731. those used in the appendices of the hardware manual when possible.
  732.  
  733. A500 has a male DB25 socket, A1000 has a female DB25 connector.
  734.  
  735. WARNING:  Pins 14, 21 and 23 carry power on the A1000. On the A500 and
  736. A2000, pins 9 and 10 carry power. Do not connect to these pins 
  737. inadvertantly as they can permanently damage external equipment.
  738. Also, pins 15-18, 23-25 carry non-standard signals and should not be
  739. inadvertantly connected. NEVER use a fully wired 25 line cable!
  740. Full Null Modem Cable
  741. ---------------------
  742.  
  743. System A            System B
  744.  
  745. 1 ----------------- 1 Frame Ground            
  746. 2 -----3     3----- 2 TX data                 Cross RX & TX
  747. 3 -----2     2----- 3 RX data                 
  748. 4 ---*-8     8-*--- 4 Request to Send         Tie RTS & CTS cross to CD  
  749. 5 ---*         *--- 5 Clear to Send
  750.  
  751. 6 ----20     20---- 6 Data set ready          Cross DSR to DTR  
  752. 7 ----------------- 7 Signal Ground           
  753. 8 -----4     4----- 8 Carrier Detect          Cross CD to tied RTS & CTS  
  754.  
  755. 20 ----6     6----- 20 Data Terminal Ready    Cross DTR to DSR  
  756.  
  757.  
  758. Tricked Null Modem Cable
  759. ------------------------
  760.  
  761. 1 ----------------- 1 Frame Ground
  762.  
  763. 2 -----3     3----- 2 TX data                 Cross RX & TX
  764. 3 -----2     2----- 3 RX data
  765.  
  766. 4 ---*         *--- 4 Request to Send         Tie RTS & CTS
  767. 5 ---*         *--- 5 Clear to Send
  768.  
  769. 6 ---*         *--- 6 Data set ready          Tie DSR, CD & DTR
  770. 8 ---*         *--- 8 Carrier Detect 
  771. 20 --*         *--- 20 Data Terminal Ready
  772.  
  773. 7 ----------------- 7 Signal Ground
  774.  
  775. If using a long shielded cable, connect pin 1 to the shield on one end but
  776. not on the other.
  777.  
  778. Minimum Null Modem Cable
  779. ------------------------
  780.  
  781. 1 ----------------- 1 Frame Ground            This line is optional
  782.  
  783. 2 -----3     3----- 2 TX data                 Cross RX & TX
  784. 3 -----2     2----- 3 RX data
  785.  
  786. 7 ----------------- 7 Signal Ground
  787. Serial Interface Connector Pin Assignment (J6) 1000 (500)
  788. --------------------------------------------------
  789.               RS-232-C
  790.   pin  name  name  dir  std  notes
  791.        1000  500             (A500 notes)
  792.  
  793.    1   FGND  FGND        y   frame ground -- do not tie to logic ground
  794.                          [Common physical equipment ground]
  795.    2   TXD   TXD    O    y   transmit data
  796.                          [Data sent to DCE]
  797.    3   RXD   RXD    I    y   receive data
  798.                          [Data received from the DCE]
  799.    4   RTS   RTS    O    y   request to send
  800.                          [Turns on modem's transmit carrier]
  801.    5   CTS   CTS    I    y   clear to send
  802.                          [Indicates the modems transmit carrier is on]
  803.    6   DSR   DSR    I    y   data set ready
  804.                          [Indicates the modem is on]
  805.    7   GND   GND         y   signal ground -- do not tie to frame ground
  806.                          [Ground for signal carrying circuit]
  807.    8   CD    CD     I    y   carrier detect
  808.                          [Asserted when the modem hears a carrier]
  809.    9   ---   +12V            (+12V on A500)
  810.   10   ---   -12V            (-12V on A500)
  811.   11   ---   AUDO            (Audio out A500)
  812.   12   ---   ---
  813.   13   ---   ---
  814.   14   -5V   ---             50 ma maximum   *** WARNING -5V ***
  815.   15   AUDO  ---    O        audio output from left (channels 0, 3) port,
  816.                                 intended to send audio to the modem
  817.   16   AUDI  ---    I        audio input to right (channels 1, 2) port,
  818.                                 intended to receive audio from the modem;
  819.                                 this input is mixed with the analog output
  820.                                 of the right (channels 1, 2). It is not 
  821.                                 digitized or used by the computer in any 
  822.                                 way.
  823.   17   EB    ---    O        716 KHz clock that supports 68000 peripheral
  824.                                 transfers, intended for modem interface;
  825.                                 this is the buffered version of the E 
  826.                                 clock from the 68000.
  827.   18   INT2* AUDI   I        asserting this OPEN COLLECTOR signal will 
  828.                                 generate a level 2 interrupt to the 68000
  829.                                 if it is enabled.
  830.                  (Audio into A500)
  831.   19   ---   ---
  832.   20   DTR   DTR    O    y   data terminal ready
  833.                          [Asserted by terminal when ready to use modem]
  834.   21   +5V   ---             100 ma maximum  *** WARNING +5V ***
  835.   22   ---   RI          y   (Ring Indicator on A500)
  836.                          [For electrically detecting a phone call
  837.                              (auto-answer modems)]
  838.   23   +12V  ---             50 ma maximum   *** WARNING +12V ***
  839.   24   C2*   ---    O        3.58 MHz intended for modems that need a 
  840.                                 colorburst clock.
  841.   25   RESB* ---    O        Amiga system reset
  842.  
  843.                            Pin Layout
  844.  
  845. While looking into the connector:
  846.  
  847. The male RS232C is usually for the DTE (Data Terminal Equipment) 
  848. The A500 and A2000 use a male plug.
  849.  
  850.    1   2   3   4   5   6   7   8   9  10  11  12  13
  851.    *   *   *   *   *   *   *   *   *   *   *   *   *
  852.      *   *   *   *   *   *   *   *   *   *   *   *
  853.     14  15  16  17  18  19  20  21  22  23  24  25
  854.  
  855. The female is usually for the DCE (Data Communications Equipment - modem)
  856. The A1000 uses a female socket.
  857.  
  858.   13  12  11  10   9   8   7   6   5   4   3   2   1
  859.    *   *   *   *   *   *   *   *   *   *   *   *   *
  860.      *   *   *   *   *   *   *   *   *   *   *   *
  861.     25  24  23  22  21  20  19  18  17  16  15  14
  862.